date: 2024-04-09
Type: Cours
Projet: Blindcode
Cours: PHPLes exceptions
Les exceptions en PHP sont des erreurs qui se produisent lors de l'exécution du code et qui interrompent le flux normal du programme. Elles permettent de gérer les situations exceptionnelles de manière élégante et de fournir des informations précieuses sur les erreurs rencontrées. Cette note est une introduction, nous n'aurons pas le temps de rentrer dans les détails, et je vous invite à consulter les documentations en ligne comme celle sur le site de PHP pour approfondir. Voici comment utiliser les exceptions en PHP
Pour déclencher une exception, utilisez le mot-clé throw suivi d'une instance de la classe d'exception appropriée.
throw new Exception("Une erreur s'est produite.");
Pour capturer une exception et gérer son traitement, utilisez un bloc try-catch. Le code susceptible de générer une exception est placé dans le bloc try, tandis que les blocs catch gèrent les exceptions spécifiques.
try {
// Code susceptible de générer une exception
throw new Exception("Une erreur s'est produite.");
} catch (Exception $e) {
// Gestion de l'exception
echo "Erreur : " . $e->getMessage();
}
Les exceptions non capturées sont propagées jusqu'à ce qu'elles soient attrapées ou qu'elles atteignent le sommet du script, où elles provoquent l'interruption de l'exécution du programme.
function diviser($a, $b) {
if ($b == 0) {
throw new Exception("Division par zéro.");
}
return $a / $b;
}
try {
echo diviser(10, 0);
} catch (Exception $e) {
echo "Erreur : " . $e->getMessage();
}
Dans cet exemple, une exception est lancée si le deuxième argument de la fonction diviser est zéro, ce qui entraîne l'interruption de l'exécution du programme.
Vous pouvez créer vos propres classes d'exception personnalisées en étendant la classe Exception de PHP.
class MonException extends Exception {
public function __construct($message, $code = 0, Exception $previous = null) {
parent::__construct($message, $code, $previous);
}
public function __toString() {
return __CLASS__ . ": [{$this->code}] : {$this->message}\n";
}
}
Une fois que vous avez défini votre classe d'exception personnalisée, vous pouvez l'utiliser dans votre code pour gérer des situations exceptionnelles spécifiques.
try {
if ($condition) {
throw new MonException("Une erreur s'est produite.");
}
} catch (MonException $e) {
echo "Erreur personnalisée : " . $e->getMessage();
}
Dans cet exemple, une instance de MonException est créée et lancée si une certaine condition n'est pas remplie. La méthode catch capture cette exception spécifique et affiche un message d'erreur personnalisé.
Les exceptions en PHP offrent un mécanisme puissant pour gérer les erreurs et les situations exceptionnelles de manière élégante. En utilisant les blocs try-catch, vous pouvez gérer les erreurs de manière robuste et fournir des informations détaillées sur les problèmes rencontrés lors de l'exécution du code.
créé le 2024-04-09 à 15:20